<?php

class Application_Model_Atividade extends Zend_Db_Table_Abstract {

    protected $_name = 'atividade';
    protected $_primary = 'codigo';
    private static $instance;

    public static function getInstance() {
        if (!isset(self::$instance)) {
            self::$instance = new Application_Model_Atividade();
            return self::$instance;
        }
        return self::$instance;
    }

    public function insert($data) {
        if (isset($data['descricao']) && isset($data['dt_cadastro'])) {
            parent::insert($data);
        }
    }

    public function update(array $data, $where = '') {
        $where = 'codigo = ' . $data['codigo'];
        parent::update($data, $where);
    }

    public function getById($id) {
        return $this->fetchRow("codigo = " . $id . " and dt_exclusao is null");
    }

    public function lista($page, $rp, $sortname, $sortOrder,$data) {
        $sql = 'select codigo,descricao,dt_cadastro
                from atividade
                where dt_exclusao is null ';

        if (isset($data['descricao']) && !empty($data['descricao'])) {
            $sql.=' and descricao like \'' . $data['descricao'] . '%\'';
        }

        if (isset($data['dt_cadastro']) && !empty($data['dt_cadastro'])) {
            $sql.=' and dt_cadastro = \'' . $data['dt_cadastro'] . '\'';
        }

        if (isset($sortname) && isset($sortOrder)) {
            $sql .= ' order by ' . $sortname . ' ' . $sortOrder;
        }

        $rs = $this->getAdapter()->query($sql)->fetchAll();
        $paginator = Zend_Paginator::factory($rs);
        $paginator->setCurrentPageNumber($page);
        $paginator->setItemCountPerPage($rp);

        return $paginator;
    }

    public function getAtividadeLista() {
        $sql = 'select codigo, descricao from atividade where dt_exclusao is null';
        return $this->getAdapter()->fetchAll($sql);
    }

    public function remove($id) {
        $parceria = $this->getById($id)->toArray();
        $where = ' codigo = ' . $id;
        $parceria['dt_exclusao'] = Zend_Date::now()->get('Y/M/d');
        parent::update($parceria, $where);
    }

}